home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
COMAL
/
Z-Misc Series
/
(k)zd.d64
/
txt.delink
< prev
next >
Wrap
Text File
|
2007-03-01
|
3KB
|
158 lines
─┼╠╔╬╦ ┴ ╨┴├╦┴╟┼
BY ─ICK ╦LINGENS, ─UTCH ├╧═┴╠ ╒SERS
╟ROUP
"╥OD THE ROADMAN" HAS A NICE LINKED
PACKAGE: DOPPELSKAERM (DANISH FOR
DUAL SCREEN). ╘HE PACKAGE COPIES
(DANISH: GEM) A HIRES SCREEN INTO
ANOTHER MEMORY AREA. ┴ND AFTER THAT
IT IS POSSIBLE TO SWAP (DANISH:
SKIFT) THAT SCREEN WITH THE CURRENT
HIRES SCREEN.
┼XAMPLE.
╒╙┼ DOPPELSKAERM
╒╙┼ GRAPHICS
FULLSCREEN
MAKE'FIRST'SCREEN
GEM
MAKE'SECOND'SCREEN
╞╧╥ T:=1 ╘╧ 10 DO SKIFT
//
╨╥╧├ MAKE'FIRST'SCREEN
╞╧╥ RAD:=1 ╘╧ 51 ╙╘┼╨ 3 ─╧
CIRCLE(160,100,RAD)
┼╬─╞╧╥ RAD
┼╬─╨╥╧├ MAKE'FIRST'SCREEN
//
╨╥╧├ MAKE'SECOND'SCREEN
╞╧╥ RAD:=2 ╘╧ 52 ╙╘┼╨ 3 ─╧
CIRCLE(160,100,RAD)
┼╬─╞╧╥ RAD
┼╬─╨╥╧├ MAKE'SECOND'SCREEN
╔ WANTED TO USE THAT PACKAGE IN
ANOTHER PROGRAM (THE ABOVE).
─ELINKING A PACKAGE FROM A PROGRAM IS
EASY TO DO.
╠OAD THE PROGRAM WITH THE LINKED
PACKAGE AND TYPE:
─┼╠ 1-
LEAVING ONLY THE PACKAGE IN MEMORY.
╘HEN
═┼╥╟┼ "LST.DELINK"
AND TYPE
╥╒╬
╘HE PROGRAM WRITES A BINARY MEMORY
IMAGE INTO A DISK FILE WITH TYPE ╨╥╟.
╘HEN USE THE PROGRAM:
MAKE'OBJECT'FILE
TO CREATE THE ╠╔╬╦ FILE.
╘HE PROGRAM ─┼╠╔╬╦ MUST BE ═┼╥╟┼D
INTO MEMORY BECAUSE ╠╧┴─ING WILL
ERASE THE WANTED PACKAGE. ╚ERE
FOLLOWS THE ─┼╠╔╬╦ PROGRAM.
// ─┼╠┼╘┼ "LST.DELINK"
// ╠╔╙╘ "LST.DELINK"
//
╒╙┼ SYSTEM
LIBLO:=$C7F0
LIBHI:=$C7FA
LIBPAG:=$C804
LIBPT:=$C7EF // LIBRARY POINTER
NLIB:=╨┼┼╦(LIBPT)
// NUMBER OF LIBRARIES
SHOW'NAMES
CHOICE(NUM)
LO:=╨┼┼╦(LIBLO+NUM-1)
HI:=╨┼┼╦(LIBHI+NUM-1)
PAG:=╨┼┼╦(LIBPAG+NUM-1)
// LIBRARY IS ON PAGE PAG
SETPAGE(PAG)
AD'START:=LO+256*HI
AD'END:=╨┼┼╦(AD'START+1)+256*╨┼┼╦(
AD'START+2)
// START & END ADDRESS
MAKE'FILE(AD'START,AD'END)
┼╬─ "─ONE"
//
╨╥╧├ SHOW'NAMES
╨╥╔╬╘
╨╥╔╬╘ "─┼╠╔╬╦"
╨╥╔╬╘
╨╥╔╬╘ "╨ACKAGES IN MEMORY ARE:"
╨╥╔╬╘
╞╧╥ T:=1 ╘╧ NLIB ─╧
LO:=╨┼┼╦(LIBLO+T-1)
HI:=╨┼┼╦(LIBHI+T-1)
START:=LO+256*HI
PAG:=╨┼┼╦(LIBPAG+T-1)
SETPAGE(PAG)
╨╥╔╬╘ ╒╙╔╬╟ "##) ": T,
╨╥╔╬╘ NAME$(START)
┼╬─╞╧╥ T
┼╬─╨╥╧├ SHOW'NAMES
//
╞╒╬├ NAME$(X) ├╠╧╙┼─
L:=╨┼┼╦(X+5)
// LENGTH OF PACKAGE NAME
─╔═ R$ ╧╞ L
╞╧╥ T:=1 ╘╧ L ─╧
R$:+├╚╥$(╨┼┼╦(X+5+T))
┼╬─╞╧╥ T
╥┼╘╒╥╬ R$
┼╬─╞╒╬├ NAME$
//
╨╥╧├ CHOICE(╥┼╞ NUM) ├╠╧╙┼─
╔═╨╧╥╘ NLIB,CURROW,CURCOL
╨╥╔╬╘
X:=CURROW; Y:=CURCOL
╥┼╨┼┴╘
╔╬╨╒╘ ┴╘ X,Y,2: "╘YPE NUMBER: ":
NUM
╒╬╘╔╠ NUM>=0 ┴╬─ NUM<=NLIB
╔╞ NUM=0 ╘╚┼╬ ┼╬─ "┼ND OF PROGRAM"
┼╬─╨╥╧├ CHOICE
//
╨╥╧├ MAKE'FILE(FROM,TO') ├╠╧╙┼─
╔═╨╧╥╘ CURROW,CURCOL
─╔═ F$ ╧╞ 16
╨╥╔╬╘
X:=CURROW; Y:=CURCOL
╥┼╨┼┴╘
╔╬╨╒╘ ┴╘ X,Y,12: "╞ILENAME: BIN.
": F$
╒╬╘╔╠ F$<>""
F$:="BIN."+F$
╨╥╔╬╘
╨╥╔╬╘ "╫ORKING..."
─┼╠┼╘┼ F$
╧╨┼╬ ╞╔╠┼ 1,F$"+,P",╫╥╔╘┼
╨╥╔╬╘ ╞╔╠┼ 1: ├╚╥$(FROM ═╧─ 256),
╨╥╔╬╘ ╞╔╠┼ 1: ├╚╥$(FROM ─╔╓ 256),
// START ADRESS OF THE PACKAGE
// MEMORY IMAGE:
╞╧╥ T:=FROM ╘╧ TO'-1 ─╧
╨╥╔╬╘ ╞╔╠┼ 1: ├╚╥$(╨┼┼╦(T)),
┼╬─╞╧╥ T
├╠╧╙┼
┼╬─╨╥╧├ MAKE'FILE
╘HERE IS A SECOND EXAMPLE IN THE
PROGRAM ┼╪┴═.─╒┴╠╙├╥┼┼╬.